#ifndef NANE_FILELOGGER_H
#   define NANE_FILELOGGER_H

#   include "nane/core/ILogger.h"
#   include "nane/core/crt/FileSystem.h"

namespace nane
{
    class FileLogger
        : public ILogger
    {
    public:
        FileLogger();
        ~FileLogger();
        
    public:
        bool Open( const char* _filename, bool _dontOverwrite );
        void Close();
        
    public:
        void Log( const char* _message, const char* _file, const char* _line
                , const char* _function, ELogMessageLevel::raw_type _messageLevel );
        
    private:
        WriteFilePtr m_file;
    };
}   // namespace nane

#endif  // NANE_FILELOGGER_H
